Apache POI ব্যবহার করে আপনি PowerPoint ফাইলের প্রপার্টিজ (Properties) যেমন, ডকুমেন্টের শিরোনাম, লেখক, বিষয়, কীওয়ার্ড ইত্যাদি পরিবর্তন এবং অ্যাক্সেস করতে পারেন। প্রপার্টিজ ম্যানেজমেন্টের জন্য POI একটি সুবিধাজনক API সরবরাহ করে, যার মাধ্যমে আপনি PowerPoint ফাইলের মেটাডেটা সহজেই ম্যানিপুলেট করতে পারেন।
এখানে আমরা PowerPoint ফাইলের প্রপার্টিজ যেমন Title, Author, Subject, Keywords, Last Modified By ইত্যাদি হ্যান্ডেল করার একটি উদাহরণ দেখব।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileOutputStream;
import java.io.IOException;
public class PowerPointPropertiesExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint ফাইল তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// প্রপার্টিজ সেট করা
ppt.getProperties().getCoreProperties().setTitle("PowerPoint Example");
ppt.getProperties().getCoreProperties().setCreator("Author Name");
ppt.getProperties().getCoreProperties().setSubject("PowerPoint Subject");
ppt.getProperties().getCoreProperties().setKeywords("Apache POI, PowerPoint, Example");
ppt.getProperties().getCoreProperties().setLastModifiedBy("Last Modifier");
// স্লাইড যোগ করা
ppt.createSlide(); // একটি স্লাইড তৈরি করা
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("PowerPointWithProperties.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint file with properties saved successfully!");
}
}
আপনি PowerPoint ফাইলের প্রপার্টিজ সহজেই অ্যাক্সেস করতে পারেন। নিম্নলিখিত উদাহরণে দেখানো হয়েছে কীভাবে এই প্রপার্টিজগুলি অ্যাক্সেস করা যায়:
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadPowerPointProperties {
public static void main(String[] args) throws IOException {
// একটি PowerPoint ফাইল খুলা
FileInputStream is = new FileInputStream("PowerPointWithProperties.pptx");
XMLSlideShow ppt = new XMLSlideShow(is);
// প্রপার্টিজ অ্যাক্সেস করা
System.out.println("Title: " + ppt.getProperties().getCoreProperties().getTitle());
System.out.println("Author: " + ppt.getProperties().getCoreProperties().getCreator());
System.out.println("Subject: " + ppt.getProperties().getCoreProperties().getSubject());
System.out.println("Keywords: " + ppt.getProperties().getCoreProperties().getKeywords());
System.out.println("Last Modified By: " + ppt.getProperties().getCoreProperties().getLastModifiedBy());
is.close();
}
}
আপনি PowerPoint ফাইলে custom properties (কাস্টম প্রপার্টিজ) যোগ করতে পারেন। এটি সাধারণত নির্দিষ্ট ব্যবসায়িক প্রয়োজনের জন্য ব্যবহৃত হয়।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.ss.usermodel.PropertySet;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddCustomPropertyExample {
public static void main(String[] args) throws IOException {
// একটি নতুন PowerPoint ফাইল তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// কাস্টম প্রপার্টি যোগ করা
PropertySet props = ppt.getProperties().getCustomProperties();
props.put("CustomProperty1", "Value1");
props.put("CustomProperty2", "Value2");
// স্লাইড যোগ করা
ppt.createSlide(); // একটি স্লাইড তৈরি করা
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("PowerPointWithCustomProperties.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint file with custom properties saved successfully!");
}
}
Apache POI লাইব্রেরি ব্যবহার করে আপনি PowerPoint ফাইলের বিভিন্ন প্রপার্টিজ যেমন শিরোনাম, লেখক, বিষয়, কীওয়ার্ড, এবং কাস্টম প্রপার্টি সেট এবং অ্যাক্সেস করতে পারেন। এটি PowerPoint ফাইলের মেটাডেটা পরিচালনা করার জন্য একটি শক্তিশালী এবং কার্যকর উপায়। কম্পিউটার প্রোগ্রামগুলি বা অন্যান্য সিস্টেমগুলির মাধ্যমে PowerPoint ফাইলগুলির মেটাডেটা অ্যাক্সেস করার সময় এই ফিচারটি খুবই কার্যকরী।
PowerPoint প্রেজেন্টেশনের Properties বা বৈশিষ্ট্যগুলি যেমন টাইটেল, লেখক, বিষয়, কীওয়ার্ড, তৈরি এবং পরিবর্তনের তারিখ ইত্যাদি, প্রেজেন্টেশন ফাইলের মেটাডেটা হিসেবে সংরক্ষিত থাকে। Apache POI লাইব্রেরি ব্যবহার করে আপনি এই মেটাডেটা পড়তে এবং পরিবর্তন করতে পারবেন। এই বৈশিষ্ট্যগুলির মধ্যে সাধারণত Author, Title, Subject, Keywords, এবং Creation Date অন্তর্ভুক্ত থাকে।
এখানে আমরা দেখব কিভাবে Presentation Properties পড়া এবং সেট করা যায় Apache POI ব্যবহার করে।
PowerPoint প্রেজেন্টেশন ফাইলের Properties পড়ার জন্য, আপনি POI's XSLF API ব্যবহার করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো, যা PowerPoint ফাইলের মেটাডেটা যেমন Title, Author, Subject, এবং Keywords পড়তে দেখাবে।
প্রথমে, Apache POI-এর প্রয়োজনীয় ডিপেনডেন্সি আপনার Maven প্রোজেক্টে যুক্ত করুন:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <!-- উপযুক্ত ভার্সন -->
</dependency>
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.xmlbeans.XmlCursor;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadPresentationProperties {
public static void main(String[] args) throws IOException {
// PowerPoint ফাইলটি পড়া
FileInputStream fis = new FileInputStream("presentation.pptx");
XMLSlideShow ppt = new XMLSlideShow(fis);
// মেটাডেটা পড়া
CoreProperties properties = ppt.getProperties().getCoreProperties();
// মেটাডেটার বিভিন্ন তথ্য এক্সট্র্যাক্ট করা
System.out.println("Title: " + properties.getTitle());
System.out.println("Author: " + properties.getCreator());
System.out.println("Subject: " + properties.getSubject());
System.out.println("Keywords: " + properties.getKeywords());
System.out.println("Created: " + properties.getCreated());
System.out.println("Last Modified: " + properties.getModified());
fis.close();
}
}
এই কোডে, CoreProperties অবজেক্টটি ব্যবহার করে আমরা PowerPoint ফাইলের মেটাডেটা (যেমন টাইটেল, লেখক, বিষয়, কীওয়ার্ড ইত্যাদি) পড়তে সক্ষম।
PowerPoint ফাইলের Properties পরিবর্তন করার জন্যও POI's XSLF API ব্যবহার করা যায়। আপনি যেমন Title, Author, Keywords ইত্যাদি সেট করতে পারবেন। নিচে উদাহরণ দেয়া হলো।
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import java.io.FileOutputStream;
import java.io.IOException;
public class SetPresentationProperties {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint প্রেজেন্টেশন তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// মেটাডেটা সেট করা
CoreProperties properties = ppt.getProperties().getCoreProperties();
properties.setTitle("New Presentation Title");
properties.setCreator("Your Name");
properties.setSubject("PowerPoint Metadata Example");
properties.setKeywords("Apache POI, PowerPoint, Metadata");
// PowerPoint ফাইলের কন্টেন্ট যোগ করা
XSLFSlide slide = ppt.createSlide();
XSLFTextBox title = slide.createTextBox();
title.setText("PowerPoint Presentation with Set Properties");
// ফাইল আউটপুট
try (FileOutputStream out = new FileOutputStream("presentation_with_properties.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি হয়েছে এবং মেটাডেটা সেট করা হয়েছে!");
}
}
এই কোডে, getCoreProperties()
মেথডটি ব্যবহার করে আমরা PowerPoint প্রেজেন্টেশনের মেটাডেটা (যেমন Title, Creator, Subject, Keywords) সেট করেছি।
PowerPoint প্রেজেন্টেশনের Creator (লেখক), Title (শিরোনাম), Subject (বিষয়) এবং Keywords (কীওয়ার্ড) পরিবর্তন করা খুবই সহজ:
properties.setTitle("New Presentation Title");
properties.setCreator("New Author");
properties.setSubject("Subject of the Presentation");
properties.setKeywords("Keyword1, Keyword2");
PowerPoint প্রেজেন্টেশনের Creation Date এবং Last Modified Date সাধারণত CoreProperties-এ সংরক্ষিত থাকে। আপনি এই ডেটা মান পরিবর্তন করতে পারেন, তবে এটি নির্ভর করে PowerPoint প্রেজেন্টেশন ফাইলের মেটাডেটা প্রোপার্টি সিস্টেমের উপরে।
properties.setCreated(new java.util.Date());
properties.setModified(new java.util.Date());
Apache POI ব্যবহার করে আপনি PowerPoint ফাইলের Properties বা মেটাডেটা যেমন Title, Author, Keywords, Subject, এবং Created/Modified Date পড়তে এবং সেট করতে পারেন। CoreProperties
ক্লাসটি ব্যবহার করে এই বৈশিষ্ট্যগুলির মান পরিবর্তন করা এবং পড়া যায়। তবে, আপনি প্রেজেন্টেশন ভিউ বা স্লাইড শো মোডের কাস্টমাইজেশন POI এর মাধ্যমে সরাসরি করতে পারবেন না।
Apache POI একটি শক্তিশালী লাইব্রেরি যা আপনাকে Microsoft PowerPoint ফাইল তৈরি, সম্পাদনা এবং ম্যানিপুলেট করতে সাহায্য করে। PowerPoint স্লাইডের properties এবং layout attributes নিয়ন্ত্রণ করে আপনি স্লাইডের ডিজাইন, কনটেন্টের অবস্থান, আকার এবং অন্যান্য বৈশিষ্ট্য নির্ধারণ করতে পারেন। Slide Properties এবং Layout Attributes এর মাধ্যমে আপনি স্লাইডের আউটপুট পরিবর্তন করতে পারবেন, যেমন স্লাইডের ব্যাকগ্রাউন্ড, এনিমেশন, ডিজাইন লেআউট, এবং আরও অনেক কিছু।
এই টিউটোরিয়ালে আমরা দেখবো কীভাবে Apache POI ব্যবহার করে PowerPoint স্লাইডের properties এবং layout attributes নির্ধারণ করা যায়।
আপনার pom.xml ফাইলে Apache POI লাইব্রেরি যোগ করুন:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version> <!-- সর্বশেষ সংস্করণ -->
</dependency>
এখানে একটি উদাহরণ দেওয়া হলো যেখানে একটি PowerPoint স্লাইড তৈরি করা হচ্ছে এবং স্লাইডের properties এবং layout attributes কনফিগার করা হচ্ছে।
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideLayout;
import org.apache.poi.xslf.usermodel.XSLFTextBox;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Rectangle;
public class PowerPointSlidePropertiesExample {
public static void main(String[] args) throws IOException {
// নতুন PowerPoint ফাইল তৈরি
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি
XSLFSlide slide = ppt.createSlide();
// স্লাইডের লেআউট নির্ধারণ
XSLFSlideLayout layout = slide.getSlideLayout(); // স্লাইডের লেআউট নেওয়া
slide.setSlideLayout(XSLFSlideLayout.TITLE_AND_CONTENT); // লেআউট পরিবর্তন
// স্লাইডের প্রপার্টি কনফিগার করা (ব্যাকগ্রাউন্ড, অরিয়েন্টেশন, আকার)
// স্লাইডের ব্যাকগ্রাউন্ড রং পরিবর্তন
slide.setBackgroundColor(java.awt.Color.CYAN); // ব্যাকগ্রাউন্ড রং সেট করা
// স্লাইডে টেক্সটবক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
textBox.setText("This is a Title Slide!");
textBox.setAnchor(new Rectangle(100, 100, 400, 50)); // TextBox এর অবস্থান ও আকার
// PowerPoint ফাইল এক্সপোর্ট (সংরক্ষণ)
try (FileOutputStream out = new FileOutputStream("slide_with_properties.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint ফাইল তৈরি করা হয়েছে এবং স্লাইডের প্রপার্টি কনফিগার করা হয়েছে।");
}
}
Slide Properties কাস্টমাইজ করার জন্য আপনি স্লাইডের ব্যাকগ্রাউন্ড, স্লাইডের আকার, এবং অন্যান্য ভিজ্যুয়াল প্রপার্টি নির্ধারণ করতে পারেন। কিছু সাধারণ slide properties:
slide.setBackgroundColor()
মেথড ব্যবহার করতে পারেন।slide.setSlideLayout()
ব্যবহার করা হয়। আপনি TITLE_AND_CONTENT, TITLE_ONLY, BLANK, CONTENT_ONLY ইত্যাদি বিভিন্ন লেআউট ব্যবহার করতে পারেন।Slide Size:
ppt.setPageSize(new java.awt.Dimension(1280, 720)); // 16:9 আকার
PowerPoint স্লাইডের layout attributes বা লেআউট কাস্টমাইজেশন করা বেশ গুরুত্বপূর্ণ, যেহেতু লেআউট স্লাইডের ভিতরের কনটেন্টের উপস্থাপনাকে নিয়ন্ত্রণ করে। Apache POI দিয়ে স্লাইডের লেআউট পরিবর্তন করা সহজ, তবে কিছু কাস্টম লেআউট কনফিগার করতে আপনাকে নির্দিষ্ট XML প্রপার্টি ব্যবহার করতে হতে পারে।
Apache POI ব্যবহার করে PowerPoint স্লাইডের properties এবং layout attributes কনফিগার করা সহজ। আপনি স্লাইডের ব্যাকগ্রাউন্ড রং, লেআউট পরিবর্তন, টেক্সটবক্স বা শেপের আকার ও অবস্থান নির্ধারণ করতে পারেন। স্লাইডের লেআউট পরিবর্তন করার জন্য XSLFSlideLayout ব্যবহার করা হয়, যা আপনাকে বিভিন্ন ধরনের লেআউট নির্ধারণ করতে সাহায্য করে। PowerPoint ফাইল কাস্টমাইজেশনের জন্য Apache POI একটি কার্যকরী এবং ব্যবহারযোগ্য টুল।
common.read_more